home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / aster2.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-04-24  |  2.3 KB  |  92 lines

  1. 1  'SAVE "Aster2
  2. 2  REM Copyright 1983 by Dorn W. Stickle
  3. 10  DEF SEG:POKE 106,0
  4. 20  GOSUB 710
  5. 30  SCREEN 1
  6. 40  LOCATE 2,1: PRINT "ASTEROID PILOT";
  7. 50  LOCATE 3,1: PRINT "Copyright 1982";
  8. 60  LOCATE 5,1: PRINT "by R.A.Bower";
  9. 61  LOCATE 18,12:PRINT "USE SHIFT KEY TO CONTROL PATH THROUGH    THE ASTEROIDS"
  10. 62  LOCATE 20,12:PRINT "OBJECT OF GAME IS TO REACH RIGHT SIDE OF ASTEROIDS FIELD"
  11. 70  S1=1:SKIL=10: TOT%=0: SUC%=0
  12. 80  GOSUB 690
  13. 90  DV=0 'Top of main loop
  14. 100  TOT%=TOT%+1
  15. 110  LINE (0,0)-(319,199),0,BF  'Graphic CLS
  16. 120  FOR A%=1 TO 15+SKIL 'Asteriods
  17. 130    X$=INKEY$
  18. 140    X=40+RND*279 : Y=RND*199
  19. 142  IF 3=POINT(X,Y) GOTO 140
  20. 150    CIRCLE (X,Y),1+RND*(25-SKIL/6),3: PAINT (X,Y),3
  21. 160    ' Add dust
  22. 170    FOR B%=0 TO SKIL\4:PSET (1+2*INT(RND*159),RND*199),1: NEXT
  23. 180  NEXT
  24. 190  LINE (0,0)-(319,199),3,B
  25. 200  LOCATE 8,1: PRINT CHR$(7) "Hit any key to begin..or ESC for MENU.";
  26. 205  DEF SEG=&H40
  27. 206  K$=INKEY$:IF LEN(K$)<>1 THEN 206
  28. 207  IF ASC(K$)=27 THEN RUN"TV"
  29. 210  IF K$="" THEN 220
  30. 220  LOCATE 8,1: PRINT SPACE$(39),CHR$(29)
  31. 230  Y=20: XO=1: YO=20: S2=S1: HIT%=0: HIT1%=0
  32. 240  FOR X=1 TO 318 STEP 1
  33. 250    IF 0=(15 AND PEEK(&H17)) THEN DV=DV+0.2 ELSE DV=DV-0.2: SOUND 37+400*S2*ABS(DV),0.1
  34. 260    Y=Y+S2*DV
  35. 270    IF Y<=0.5 OR Y>=198.5 GOTO 590
  36. 280    IF POINT(X,Y)=3 GOTO 480  'Hit Asteriod
  37. 290    IF POINT(X,Y)<>1 GOTO 330
  38. 300    HIT%=(HIT%+1) MOD 2:HIT1%=1  'Hit dust
  39. 310    CIRCLE (X,Y),5,2: SOUND 5000,1: PAINT (X,Y),2: DV=0
  40. 320    IF HIT%=1 THEN S2=0.1*S1 ELSE S2=S1
  41. 330    LINE (XO,YO)-(X,Y),3-HIT%
  42. 340    XO=X: YO=Y
  43. 350    FOR I=1 TO (70-SKIL)\2:NEXT
  44. 360  NEXT
  45. 370  REM ---Success
  46. 380  SOUND 500,5
  47. 390  S1=S1*1.1*1.1:SKIL=SKIL+4
  48. 400  SUC%=SUC%+1
  49. 410  GOSUB 670
  50. 420  IF HIT1%=1 GOTO 570
  51. 430  PAINT (5,1),2,3
  52. 440  LINE (XO,YO)-(320,Y0),2
  53. 450  PSET (0,20),2
  54. 460  PAINT (5,199),1,2
  55. 470  GOTO 570
  56. 480  REM -----Hit-----
  57. 490  IF SKIL>0 THEN S1=S1/1.1:SKIL=SKIL-2
  58. 500  GOSUB 670
  59. 510  FOR I=1 TO 20
  60. 520    LINE (X,Y)-STEP (10-RND*80,40-RND*80),2
  61. 530    FOR J=1 TO 5
  62. 540      SOUND 1000+400*RND,0.02
  63. 550    NEXT
  64. 560  NEXT
  65. 570  FOR I=1 TO 2000: NEXT
  66. 580  GOTO 90
  67. 590  X=FRE(""):PLAY "mb" '----Outside----
  68. 600  IF Y>100 GOTO 630
  69. 610  FOR I=37 TO 6000 STEP 100:SOUND I,0.1: NEXT
  70. 620  GOTO 640
  71. 630  FOR I=6000 TO 37 STEP -100:SOUND I,0.1: NEXT
  72. 640  IF SKIL>0 THEN S1=S1/1.1:SKIL=SKIL-2
  73. 650  GOSUB 670
  74. 660  GOTO 570
  75. 670  REM Subroutine to update status
  76. 680  LOCATE 15,1: PRINT "You have won" SUC% "of" TOT% "tries."
  77. 690  LOCATE 13,1: PRINT "Skill level:" USING "###";SKIL\2;
  78. 700  RETURN
  79. 710  REM ATTACH color screen for graphics
  80. 720  DEF SEG=0: A=PEEK(&H410)
  81. 730  REM COLOR - Switch to Color Monitor
  82. 740  POKE &H410,(A AND &HCF) OR &H20
  83. 750  KEY OFF:SCREEN 0
  84. 760  SCREEN 1: LOCATE ,,1,6,7
  85. 770  DEF SEG=0: A=PEEK(&H410)
  86. 780  REM MONO - switch to monochrome
  87. 790  POKE &H410,(A OR &H30)
  88. 800  LOCATE ,,1,12,13
  89. 810  SCREEN 0,0,0
  90. 820  WIDTH 80
  91. 830  RETURN
  92.